RubyKaigi2024 2日目
行動記録
7時半前ぐらいに起床
8時にやんちゃクラブ公開収録見学をしたくて波の上ビーチに向かう
無事遭遇してけん玉・運動・トークの流れでやってるのを眺めた
実際に生で見ると意外と1mくらい離れるだけで声が小さめで普段の動画聞いてる時と全然違ってへ〜となった
その後動画で見たらめっちゃ声がクリアでピンマイクすごいとなった
9時頃に離脱し元々予定していた同僚たちと朝食を食べるイベントをやる
いつでも朝ごはん(国際通り店)でソーキそばを食べた
10時前に会場入りしてトークを聞き回る
昨日のトークをメモする時、メモすることに頭を使いすぎてむずいなーとなってたけどその後うたがわくんのscrapbox記事がふと目に入ってこれぐらいの粒度(気になったキーワード単位でメモを書き残しておく)でいいなとなりなんとなく真似したら結構疲れずにメモできた
ぽっけさんのトークでGHAの話結構出てたのが気になったのでワークフローのファイル見てみようと思ったのが今日の回だと一番印象に残った感じ
終わった後に声かけてワークフロー職人トークをちょっとだけできた
家帰った後(20240517)にワークフロー周りのファイル眺めたんだけどRubyでコメント文の組み立てやファイルチェックのスクリプトなどを実行する処理入っててほほ〜となる
自分の場合だと ファイル差分チェックの処理はaction使って任せたり、出力する文章の組み立てはワークフローのyamlでベタ書きしそうだが、Rubyでスクリプト作るのもみんな読めるだろうしなるほどなーとなる
お昼は友人組でまったりランチした
クラムチャウダー食べた
ブース歩いてたら三浦半島出身の人たちと遭遇してローカルトークが通じて結構嬉しかった
三浦半島方面の meet upやりたいですよねという夢の話をちょっとだけできた
ぱんさんに再会してカナダ人の同僚の方々を紹介していただく
以前より英語を聞き取れるようになって英→日で翻訳してもらう回数がかなり減った(気がする)
自分もちょくちょく英語で喋って会話の打ち返しに成功して喜んでた
2日目 drink up は SmartHRのところに参加
初対面の人や気になってた方に声かけて色々おしゃべりできて良かった
割とちゃんと懇親会ムーブできた気がする?と思いたい
SmartHRの方たちにノベルティのお茶パックをたくさんもらったので彼氏から喜ばれそう
沖縄曲のライブがあって Hardening の懇親会思い出した。沖縄は地域の方に演奏やってもらう系のイベントあるの楽しいよねと思う
ゆいまーる修学旅行で聞いたなあ
drink up 終了後は念願の RubyKaraoke 参加
大部屋カラオケをやってから6,7人くらいの真剣(?)にカラオケやってる部屋で楽しんだ
オジー自慢のオリオンビールを歌えたので満足です
jokerさんのさよーならまたいつか!とうなすけさんの転がる岩がめっちゃ良くて印象に残ってる
ラスト1時間はテン年代邦楽ラッシュでエンディングを迎えた
結局3時まで残ってしまったが割とまったりやれたことでHPは多少あった
そらはとのなちゃんさんに送っていただいて無事帰宅
発表聞いた時のメモ
2日目Keynote(Samuelさん)
インターネットの進化の歴史
ダイヤルアップの音流れるの良い
1990s Webブラウザの誕生
グローバルな接続
1996 ウェブゲームの誕生
Earth: 2025
Webブラウザは基本的にインタラクティブ性が低かった
2005 Railsの誕生
設定よりも規約
リクエストレスポンスモデル
2012: BrowerQuest はWebゲームの進化を押し拡げる
Mozilla BrowerQuest
2017: Asyncの誕生
今まではread_request を while で回して繰り返しレスポンスを処理するしかなかった
それで重いリクエストが1つあると他の処理が詰まる問題があった
Fiberを使うことで並行処理で1つの重いリクエストが詰まらずに他のリクエストが送れるねという話をしていそう
デモでWebブラウザのゲームが滑らかに通信できている様子を紹介
Falcon, Rails, Liveを使っている
Live gem
がっつりゲームロジックのコードを紹介している感じ
RailsでWebブラウザゲームの実装が書けるのを見れると個人開発欲が高まってくる
ActionCableのアダプタ化
ぽっけさんの発表
RBSリポジトリ周りの運用どうしているかが今回メインの話
ruby/gem_rbs_collection
運営の歴史について話していく
3つのステージがある
Codeowner は2022ぐらいから導入
RBSのコアチームが全部のPRのレビューとマージしていく
,github/CODEOWNERS でディレクトリごとにオーナーアサインしてる運用
結構細かくディレクトリ毎でアサイン者を書いてる
でも↑だとうまく行かないことが結構あった
code owner から gem reviwer に変える
PRコメントで /merge 書いてGHA動かしてる
GHAのオタクなのでGHA活用例が出てきて静かに喜んでる
welcome_comment.yml って名前かわいい
運用を変えてコードオーナー依存にならずにPRマージができるようになった
GHAでCI回す運用でセキュリティ面で気をつけてることの紹介
メンテナを増やしていくことが今後の指標として入っている
/merge コマンドのバグを直すといった修正も求められている
ここ、GHA周りの勘があるとコミットチャンスになりそうな予感(個人的見解)
レビュー時のノイズになるメッセージの排除も求められている
jeremy さん
allocationの改善と計測
暗黙的なallocation を計測する方法
メソッド引数での splatting
3.2 は [] や{}を渡していた時にもいくつかのアロケーションが起こってたけど3.3はなしでいけるようになった
ISEQ Paramater Flags
内容難しい&英語で追いつけなかったので解説ちゃんと読みたい
koicさん
Rubocop: LSP and prism
VSCode With LSP
リアルタイムで auto correct してくれる
LSP自体はプロトコル
Rails8で導入予定らしい
Ruby の LSPいっぱいある
standard LSP を自分は使ってるはず(前調べた内容のやつだ!)
rubocop --lsp
vscode-rubocopという拡張
rubocopの起動超遅いのでdamoen使えばいいというのがまずある
LSPはどういう時に呼ばれるのか
ファイル変更検知
Rubocopが内部的に呼ばれている
Enable YJIT
format on save時に auto correct するといい感じの使い方だよねという話
わかる
まだまだ出来立てで問題もある
書き途中で実行する
rspec の fit が直されちゃう
Editor part と CLI part
editor の時に auto correct が発生すると困る
Rubocop の最新で Autocorrect の挙動変えられるオプションを修正入れた
Prism
prism 使うと rubocop は4倍早くなる
C で書かれた手書きの再起法Parser
パーサーの世界、1回ですぐ理解するのむずいなと聞いてて思った
パーサーのお仕事
AST
Lexer tokens
Diaglogs
ParserEngine オプションで prism 指定できるようにした
rubocop ではエラートレランスをまだサポートしてない
matrix ABC size 途中で指摘される問題わかるとなった
ほんとは直接 Prism を呼びたい
Prism API に依存したらいいのでは?と言われた
3.7 あたりにすると話が進んでるかもしれない
parser_prism 指定してrubocop動かしてみよう
s01さん
Rubyの暗号化ライブラリと向き合いつつ Rassberry Pi Pico W が PicoRuby で TLSを話せるようにした
Rubyの通信系の処理の実装を見ていく
TCPSocket
TLS
メモリ管理
PicoRuby は Blue Ocean
IoT機器でどんどん遊ぼうぜ的な感じ
Wi-FI機器とかにも使える
これはただの感想なんだけど、なんか昔から見てた人が英語で好きな技術についてガンガン発表している姿を見れたの、感慨深くて元気をもらえた